package org.itstsack.demo.design;

import org.itstack.demo.design.Status;

public abstract class State {

    // 活动提审
    public abstract Result arraignment(String activityId, Enum<Status> currentStatus);

    // 审核拒绝
    public abstract Result checkPass(String activityId, Enum<Status> currentStatus);

    // 审核通过
    public abstract Result checkRefuse(String activityId, Enum<Status> currentStatus);

    // 撤审撤销
    public abstract Result checkRevoke(String activityId, Enum<Status> currentStatus);

    // 活动关闭
    public abstract Result close(String activityId, Enum<Status> currentStatus);

    // 活动开启
    public abstract Result open(String activityId, Enum<Status> currentStatus);

    // 活动执行
    public abstract Result doing(String activityId, Enum<Status> currentStatus);

}
